//toernooiaanmaken
package model;

import componenten.Database;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

/**
 *
 * @author Gebruiker
 */
public class Speler {

    private int lidId;
    private String betaalstatus;
    private double prijzengeld;
    private int positie;
    private String toernooi_naam;
    private String toernooi_datum;
    private ArrayList bericht;
    private boolean gevalideerd;

    public Speler() {
        this.betaalstatus = "nee";
        this.prijzengeld = 0.00;
        this.positie = 0;
        this.bericht = new ArrayList();
        this.gevalideerd = true;
    }

    public Speler(String argLidId, String argToernooiDatum, String argToernooiNaam) {

        String sql = "SELECT * FROM speler WHERE lid_id = " + argLidId + " AND toernooi_datum = '" + argToernooiDatum + "'" + " AND toernooi_naam = '" + argToernooiNaam + "'";
        System.out.print(sql);

        try {

            ResultSet result = Database.executeSelectQuery(sql);
            result.next();
            this.lidId = result.getInt("lid_id");
            this.betaalstatus = result.getString("speler_betaalstatus");
            this.prijzengeld = result.getDouble("speler_prijzengeld");
            this.positie = result.getInt("speler_positie");
            this.toernooi_naam = result.getString("toernooi_naam");
            this.toernooi_datum = result.getString("toernooi_datum");

        } catch (SQLException e) {
            System.out.print(e);
        }

        this.bericht = new ArrayList();
        this.gevalideerd = true;
    }

    private void valideren() {
    }

//    public boolean toevoegen() {
//        this.valideren();
//        if (this.isGevalideerd()) {
//
//            String sqlQuery = "INSERT INTO fullhouse.persoon ("
//                    + "persoon_voornaam, "
//                    + "persoon_achternaam, "
//                    + "persoon_tussenvoegsel, "
//                    + "persoon_geboortedatum, "
//                    + "persoon_email, "
//                    + "persoon_telefoon, "
//                    + "persoon_woonplaats, "
//                    + "persoon_straat, "
//                    + "persoon_huisnummer, "
//                    + "persoon_postcode "
//                    + ") VALUES ("
//                    + "'" + this.voornaam + "'" + " , "
//                    + "'" + this.achternaam + "'" + " , "
//                    + "'" + this.tussenvoegsels + "'" + " , "
//                    + "'" + this.geboortedatum + "'" + " , "
//                    + "'" + this.email + "'" + " , "
//                    + this.telefoon + " , "
//                    + "'" + this.woonplaats + "'" + " , "
//                    + "'" + this.straat + "'" + " , "
//                    + "'" + this.huisnummer + "'" + " , "
//                    + "'" + this.postcode + "'"
//                    + ")";
//
//            if (Database.executeInsertQuery(sqlQuery) != 1) {
//                this.setGevalideerd(false);
//                this.getBericht().add("Er is een fout onstaan tijdens het opslaan probeer opnieuw (persoon)");
//
//            } 
//        }
//        return this.isGevalideerd();
//    }
//
//    public boolean bijwerken() {
//        this.valideren();
//        if (this.isGevalideerd()) {
//            String sqlQuery = "UPDATE fullhouse.persoon SET "
//                    + "persoon_voornaam = '" + this.voornaam + "'" + ", "
//                    + "persoon_achternaam = '" + this.achternaam + "'" + ", "
//                    + "persoon_tussenvoegsel = '" + this.tussenvoegsels + "'" + ", "
//                    + "persoon_geboortedatum = '" + this.geboortedatum + "'" + ", "
//                    + "persoon_email = '" + this.email + "'" + ", "
//                    + "persoon_telefoon = " + this.telefoon + ", "
//                    + "persoon_woonplaats = '" + this.woonplaats + "'" + ", "
//                    + "persoon_straat = '" + this.straat + "'" + ", "
//                    + "persoon_huisnummer = '" + this.huisnummer + "'" + ", "
//                    + "persoon_postcode = '" + this.postcode + "' "
//                    + "WHERE persoon_id = " + this.id;
//
//            if (Database.executeInsertQuery(sqlQuery) != 1) {
//                this.setGevalideerd(false);
//                this.getBericht().add("Er is een fout onstaan tijdens het bijwerken probeer opnieuw (persoon)");
//
//            } else {
//
//                String sqlQueryLid = "UPDATE fullhouse.master SET "
//                        + "master_bijnaam = '" + this.getBijnaam() + "'"
//                        + "WHERE persoon_id = " + this.id;
//
//                if (Database.executeUpdateQuery(sqlQueryLid) != 1) {
//                    this.setGevalideerd(false);
//                    this.getBericht().add("Er is een fout onstaan tijdens het bijwerken probeer opnieuw");
//                }
//            }
//        }
//        return this.isGevalideerd();
//    }
    /**
     * @param bericht the bericht to set
     */
    public void setBericht(ArrayList bericht) {
        this.bericht = bericht;
    }

    public void resetBericht() {
        this.setBericht(new ArrayList());
        this.gevalideerd = true;
    }

    public ArrayList getBericht() {
        return bericht;
    }

    /**
     * @param gevalideerd the gevalideerd to set
     */
    public void setGevalideerd(boolean gevalideerd) {
        this.gevalideerd = gevalideerd;
    }

    public boolean isGevalideerd() {
        return gevalideerd;
    }

    public String[] getInformatie() {

        Lid lid = new Lid("" + this.lidId);

        return new String[]{lid.getVoornaam() + " " + lid.getAchternaam(), "" + lid.getRating()};
    }

    /**
     * @return the lidId
     */
    public int getLidId() {
        return lidId;
    }

    /**
     * @param lidId the lidId to set
     */
    public void setLidId(int lidId) {
        this.lidId = lidId;
    }

    /**
     * @return the betaalstatus
     */
    public String getBetaalstatus() {
        return betaalstatus;
    }

    /**
     * @param betaalstatus the betaalstatus to set
     */
    public void setBetaalstatus(String betaalstatus) {
        this.betaalstatus = betaalstatus;
    }

    /**
     * @return the prijzengeld
     */
    public double getPrijzengeld() {
        return prijzengeld;
    }

    /**
     * @param prijzengeld the prijzengeld to set
     */
    public void setPrijzengeld(double prijzengeld) {
        this.prijzengeld = prijzengeld;
    }

    /**
     * @return the positie
     */
    public int getPositie() {
        return positie;
    }

    /**
     * @param positie the positie to set
     */
    public void setPositie(int positie) {
        this.positie = positie;
    }

    /**
     * @return the toernooi_naam
     */
    public String getToernooi_naam() {
        return toernooi_naam;
    }

    /**
     * @param toernooi_naam the toernooi_naam to set
     */
    public void setToernooi_naam(String toernooi_naam) {
        this.toernooi_naam = toernooi_naam;
    }

    /**
     * @return the toernooi_datum
     */
    public String getToernooi_datum() {
        return toernooi_datum;
    }

    /**
     * @param toernooi_datum the toernooi_datum to set
     */
    public void setToernooi_datum(String toernooi_datum) {
        this.toernooi_datum = toernooi_datum;
    }
}